// 配置 ajax 的基础路径
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';

// 请求拦截器
axios.interceptors.request.use(function (config) {
    // // 给 /my 开头的请求添加 身份认证信息！
    // console.log(config);
    // 判断: 只要包含 /my/ 就添加token
    // if (config.url.indexOf('/my/') >= 0) {
    // if (config.url.indexOf('/my/') > -1) {
    if (config.url.includes('/my/')) {
        config.headers.Authorization = localStorage.getItem('token');
    }
    // 必须要返回 config
    return config;
}, function (error) {
    // 这个语法我们后面讲,现在不考虑请求出错误的情况！
    return Promise.reject(error);
});

// 响应拦截器
axios.interceptors.response.use(function (response) {
    // 处理响应内容！！！
    //   如果身份认证失败，那么就跳转到登录页面！
    let obj = response.data;
    if (obj.message === "身份认证失败！") {
        // 页面跳转
        location.href = '/login.html';
        // 删除无效token
        localStorage.removeItem("token");
    }

    // 下面的代码，可以让 axios 中的返回数据和 jQuery中的ajax返回的数据一样！
    // response = response.data;

    // 返回响应对象
    return response;
}, function (error) {
    // 这个语法我们后面讲,现在不考虑请求出错误的情况！
    return Promise.reject(error);
});


// 格式化日期方式
function dateFormat(str) {
    // console.log(typeof str, str);
    let dt = new Date(str);
    // console.log(typeof dt, dt);
    let yy = dt.getFullYear();
    let mm = padZero(dt.getMonth() + 1);
    let dd = padZero(dt.getDate());

    let h = padZero(dt.getHours());
    let m = padZero(dt.getMinutes());
    let s = padZero(dt.getSeconds());

    return `${yy}-${mm}-${dd} ${h}:${m}:${s}`;
}

// 补零函数
function padZero(n) {
    // 返回要return  0要带引号
    return n < 10 ? "0" + n : n;
}
